package com.zcyppyh.ddns.host;

import com.zcyppyh.ddns.enums.ProtocolTypeEnum;

/**
 * @author: zcyppyh
 * @time: 2023/8/16 18:08
 * @version: 1
 * @desc: 获取公网IP接口
 */
public interface PublicHost {

    /**
     * 获取IP地址
     * @return
     */
    String getPublicIp();

    /**
     * 协议类型，说明获取到的ip地址是ip4v或ipv6
     * @return
     */
    ProtocolTypeEnum protocolType();

    /**
     * 是否是自定义实现
     * 如果扩展此接口，则必须返回true，表明当前类是自定义实现类，会优先使用自定义实现类去获取IP
     * @return
     */
    boolean isCustImpl();

}
